/*
 * Simulation1SceneGraphLoader.hpp
 *
 *  Created on: May 5, 2009
 *      Author: asantos
 */

class Simulation1SceneGraphLoader{
private:
	SignalBroker& signalbroker;
	boost::signals::connection connection;
public:
	Simulation1SceneGraphLoader(SceneGraphController& scenegraphcontroller, SignalBroker& signalbroker):
		signalbroker(signalbroker){

		Signal<SceneGraphController::GetSceneGraphControllerHandler>& openglinitialized = signalbroker.CreateOrGetExistingSignal<SceneGraphController::GetSceneGraphControllerHandler>("/scenegraphcontroller/get");
		connection = openglinitialized.connect(boost::bind(&Simulation1SceneGraphLoader::LoadSceneGraph, this, _1));
	}

	void LoadSceneGraph(SceneGraphController& scenegraphcontroller){
		SceneGraph& scenegraph = scenegraphcontroller.CreateSceneGraph("simulation1");
		signalbroker.InvokeSignal<OutputStreamView::LogHandler>("/log/output", "Created scenegraph: simulation1.");

		SceneNode& root = scenegraph.GetRoot();

		TriangleStrip& trianglestrip_0 = *(new TriangleStrip(true));
			trianglestrip_0.AddVertex(Vertex(0,0,1));
			trianglestrip_0.AddVertex(Vertex(15,0,1));
			trianglestrip_0.AddVertex(Vertex(0,5,1));
			trianglestrip_0.AddVertex(Vertex(15,5,1));
			trianglestrip_0.AddVertex(Vertex(10,5,1));
			trianglestrip_0.AddVertex(Vertex(15,20,1));
			trianglestrip_0.AddVertex(Vertex(10,20,1));
			trianglestrip_0.AddVertex(Vertex(15,25,1));
			trianglestrip_0.AddVertex(Vertex(0,25,1));
			trianglestrip_0.AddVertex(Vertex(10,20,1));
			trianglestrip_0.AddVertex(Vertex(0,20,1));
			trianglestrip_0.AddVertex(Vertex(5,20,1));
			trianglestrip_0.AddVertex(Vertex(0,5,1));
			trianglestrip_0.AddVertex(Vertex(5,5,1));

		TriangleStrip& trianglestrip_1 = *(new TriangleStrip(false));
			trianglestrip_1.AddVertex(Vertex(0,5,1));
			trianglestrip_1.AddVertex(Vertex(0,0,1));
			trianglestrip_1.AddVertex(Vertex(5,5,1));
			trianglestrip_1.AddVertex(Vertex(5,0,1));
			trianglestrip_1.AddVertex(Vertex(10,0,1));

			trianglestrip_1.AddVertex(Vertex(5,25,1));
			trianglestrip_1.AddVertex(Vertex(10,25,1));

		TriangleStrip& trianglestrip_2 = *(new TriangleStrip(false));
			trianglestrip_2.AddVertex(Vertex(15,25,1));
			trianglestrip_2.AddVertex(Vertex(15,20,1));
			trianglestrip_2.AddVertex(Vertex(0,25,1));
			trianglestrip_2.AddVertex(Vertex(0,20,1));
			trianglestrip_2.AddVertex(Vertex(5,20,1));

			trianglestrip_2.AddVertex(Vertex(0,10,1));
			trianglestrip_2.AddVertex(Vertex(5,15,1));
			trianglestrip_2.AddVertex(Vertex(10,10,1));
			trianglestrip_2.AddVertex(Vertex(15,15,1));
			trianglestrip_2.AddVertex(Vertex(10,10,1));

			trianglestrip_2.AddVertex(Vertex(15,10,1));
			trianglestrip_2.AddVertex(Vertex(10,5,1));
			trianglestrip_2.AddVertex(Vertex(15,5,1));
			trianglestrip_2.AddVertex(Vertex(10,5,1));
			trianglestrip_2.AddVertex(Vertex(15,0,1));

			trianglestrip_2.AddVertex(Vertex(0,5,1));
			trianglestrip_2.AddVertex(Vertex(0,0,1));


		TriangleStrip& trianglestrip_3 = *(new TriangleStrip(false));
			trianglestrip_3.AddVertex(Vertex(0,0,1));
			trianglestrip_3.AddVertex(Vertex(0,5,1));
			trianglestrip_3.AddVertex(Vertex(15,0,1));
			trianglestrip_3.AddVertex(Vertex(15,5,1));
			trianglestrip_3.AddVertex(Vertex(15,25,1));

			trianglestrip_3.AddVertex(Vertex(10,5,1));
			trianglestrip_3.AddVertex(Vertex(10,25,1));
			trianglestrip_3.AddVertex(Vertex(10,25,1));
			trianglestrip_3.AddVertex(Vertex(0,25,1));
			trianglestrip_3.AddVertex(Vertex(0,20,1));

			trianglestrip_3.AddVertex(Vertex(10,20,1));
			trianglestrip_3.AddVertex(Vertex(10,25,1));
			trianglestrip_3.AddVertex(Vertex(10,15,1));
			trianglestrip_3.AddVertex(Vertex(10,10,1));
			trianglestrip_3.AddVertex(Vertex(5,15,1));

			trianglestrip_3.AddVertex(Vertex(5,10,1));


		TriangleStrip& trianglestrip_4 = *(new TriangleStrip(false));
			trianglestrip_4.AddVertex(Vertex(15,25,1));
			trianglestrip_4.AddVertex(Vertex(10,25,1));
			trianglestrip_4.AddVertex(Vertex(15,0,1));
			trianglestrip_4.AddVertex(Vertex(10,0,1));
			trianglestrip_4.AddVertex(Vertex(10,10,1));

			trianglestrip_4.AddVertex(Vertex(10,15,1));
			trianglestrip_4.AddVertex(Vertex(5,10,1));
			trianglestrip_4.AddVertex(Vertex(0,0,1));
			trianglestrip_4.AddVertex(Vertex(5,0,1));
			trianglestrip_4.AddVertex(Vertex(5,15,1));

			trianglestrip_4.AddVertex(Vertex(5,15,1));
			trianglestrip_4.AddVertex(Vertex(10,15,1));
			trianglestrip_4.AddVertex(Vertex(0,15,1));
			trianglestrip_4.AddVertex(Vertex(0,0,1));


		TriangleStrip& trianglestrip_5 = *(new TriangleStrip(false));
			trianglestrip_5.AddVertex(Vertex(15,0,1));
			trianglestrip_5.AddVertex(Vertex(15,5,1));
			trianglestrip_5.AddVertex(Vertex(0,0,1));
			trianglestrip_5.AddVertex(Vertex(0,5,1));
			trianglestrip_5.AddVertex(Vertex(5,5,1));

			trianglestrip_5.AddVertex(Vertex(0,15,1));
			trianglestrip_5.AddVertex(Vertex(5,10,1));
			trianglestrip_5.AddVertex(Vertex(10,15,1));
			trianglestrip_5.AddVertex(Vertex(15,10,1));
			trianglestrip_5.AddVertex(Vertex(10,15,1));

			trianglestrip_5.AddVertex(Vertex(15,15,1));
			trianglestrip_5.AddVertex(Vertex(10,20,1));
			trianglestrip_5.AddVertex(Vertex(15,20,1));
			trianglestrip_5.AddVertex(Vertex(10,20,1));
			trianglestrip_5.AddVertex(Vertex(15,25,1));

			trianglestrip_5.AddVertex(Vertex(0,20,1));
			trianglestrip_5.AddVertex(Vertex(0,25,1));


		TriangleStrip& trianglestrip_6 = *(new TriangleStrip(false));
			trianglestrip_6.AddVertex(Vertex(0,0,1));
			trianglestrip_6.AddVertex(Vertex(5,0,1));
			trianglestrip_6.AddVertex(Vertex(0,25,1));
			trianglestrip_6.AddVertex(Vertex(5,10,1));
			trianglestrip_6.AddVertex(Vertex(5,25,1));

			trianglestrip_6.AddVertex(Vertex(5,20,1));
			trianglestrip_6.AddVertex(Vertex(15,25,1));
			trianglestrip_6.AddVertex(Vertex(10,20,1));
			trianglestrip_6.AddVertex(Vertex(15,10,1));
			trianglestrip_6.AddVertex(Vertex(10,15,1));

			trianglestrip_6.AddVertex(Vertex(5,10,1));
			trianglestrip_6.AddVertex(Vertex(5,15,1));


		TriangleStrip& trianglestrip_7 = *(new TriangleStrip(false));
			trianglestrip_7.AddVertex(Vertex(0,0,1));
			trianglestrip_7.AddVertex(Vertex(0,5,1));
			trianglestrip_7.AddVertex(Vertex(15,0,1));
			trianglestrip_7.AddVertex(Vertex(10,5,1));
			trianglestrip_7.AddVertex(Vertex(15,25,1));

			trianglestrip_7.AddVertex(Vertex(10,25,1));


		TriangleStrip& trianglestrip_8 = *(new TriangleStrip(false));
			trianglestrip_8.AddVertex(Vertex(0,0,1));
			trianglestrip_8.AddVertex(Vertex(0,25,1));
			trianglestrip_8.AddVertex(Vertex(5,0,1));
			trianglestrip_8.AddVertex(Vertex(5,25,1));
			trianglestrip_8.AddVertex(Vertex(5,25,1));


			trianglestrip_8.AddVertex(Vertex(5,20,1));
			trianglestrip_8.AddVertex(Vertex(15,25,1));
			trianglestrip_8.AddVertex(Vertex(10,20,1));
			trianglestrip_8.AddVertex(Vertex(15,0,1));
			trianglestrip_8.AddVertex(Vertex(10,0,1));


			trianglestrip_8.AddVertex(Vertex(5,0,1));
			trianglestrip_8.AddVertex(Vertex(10,5,1));
			trianglestrip_8.AddVertex(Vertex(5,5,1));
			trianglestrip_8.AddVertex(Vertex(5,5,1));
			trianglestrip_8.AddVertex(Vertex(5,10,1));


			trianglestrip_8.AddVertex(Vertex(5,15,1));
			trianglestrip_8.AddVertex(Vertex(10,10,1));
			trianglestrip_8.AddVertex(Vertex(10,15,1));


		TriangleStrip& trianglestrip_9 = *(new TriangleStrip(false));
			trianglestrip_9.AddVertex(Vertex(15,25,1));
			trianglestrip_9.AddVertex(Vertex(10,25,1));
			trianglestrip_9.AddVertex(Vertex(15,0,1));
			trianglestrip_9.AddVertex(Vertex(10,15,1));
			trianglestrip_9.AddVertex(Vertex(10,0,1));

			trianglestrip_9.AddVertex(Vertex(10,5,1));
			trianglestrip_9.AddVertex(Vertex(0,0,1));
			trianglestrip_9.AddVertex(Vertex(5,5,1));
			trianglestrip_9.AddVertex(Vertex(0,15,1));
			trianglestrip_9.AddVertex(Vertex(5,10,1));

			trianglestrip_9.AddVertex(Vertex(10,15,1));
			trianglestrip_9.AddVertex(Vertex(10,10,1));



		{
			SceneNode& child0 = root.CreateChildNode("paddle0");
			signalbroker.InvokeSignal<OutputStreamView::LogHandler>("/log/output", "Created scenenode: paddle0.");


			PositionProperty& positionproperty = child0.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 610.0f;
			m(1,3) = 130.5f;

			signalbroker.InvokeSignal<OutputStreamView::LogHandler>("/log/output", "Created positionproperty for paddle0.");

			TriangleStrip& trianglestrip = *(new TriangleStrip());
					trianglestrip.AddVertex(Vertex(-5,-40,1));
					trianglestrip.AddVertex(Vertex(-5,40,1));
					trianglestrip.AddVertex(Vertex(5,-40,1));
					trianglestrip.AddVertex(Vertex(5,40,1));

			child0.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip));
		}
		{
			SceneNode& child1 = root.CreateChildNode("paddle1");

			PositionProperty& positionproperty = child1.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 30.0f;
			m(1,3) = 130.0f;

			TriangleStrip& trianglestrip = *(new TriangleStrip());
			trianglestrip.AddVertex(Vertex(-5,-40,1));
			trianglestrip.AddVertex(Vertex(-5,40,1));
			trianglestrip.AddVertex(Vertex(5,-40,1));
			trianglestrip.AddVertex(Vertex(5,40,1));

			child1.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip));
		}
		{
			SceneNode& ball = root.CreateChildNode("ball");

			PositionProperty& positionproperty = ball.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 130.5f;
			m(1,3) = 130.5f;

			TriangleStrip& trianglestrip = *(new TriangleStrip());
					trianglestrip.AddVertex(Vertex(-10,-10,1));
					trianglestrip.AddVertex(Vertex(10,-10,1));
					trianglestrip.AddVertex(Vertex(-10,10,1));
					trianglestrip.AddVertex(Vertex(10,10,1));

			ball.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip));
		}
		{
			SceneNode& midline = root.CreateChildNode("midline");

			PositionProperty& positionproperty = midline.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 320.0f;
			m(1,3) = 250.0f;

			TriangleStrip& trianglestrip = *(new TriangleStrip());
					trianglestrip.AddVertex(Vertex(-5,-240,1));
					trianglestrip.AddVertex(Vertex(5,-240,1));
					trianglestrip.AddVertex(Vertex(-5,-220,1));
					trianglestrip.AddVertex(Vertex(5,-220,1));


					trianglestrip.AddVertex(Vertex(-5,-220,1));
					trianglestrip.AddVertex(Vertex(-5,-220,1));
					trianglestrip.AddVertex(Vertex(-5,-200,1));


					trianglestrip.AddVertex(Vertex(-5,-200,1));
					trianglestrip.AddVertex(Vertex(5,-200,1));
					trianglestrip.AddVertex(Vertex(-5,-180,1));
					trianglestrip.AddVertex(Vertex(5,-180,1));

					trianglestrip.AddVertex(Vertex(-5,-180,1));
					trianglestrip.AddVertex(Vertex(-5,-180,1));
					trianglestrip.AddVertex(Vertex(-5,-160,1));


					trianglestrip.AddVertex(Vertex(-5,-160,1));
					trianglestrip.AddVertex(Vertex(5,-160,1));
					trianglestrip.AddVertex(Vertex(-5,-140,1));
					trianglestrip.AddVertex(Vertex(5,-140,1));

					trianglestrip.AddVertex(Vertex(-5,-140,1));
					trianglestrip.AddVertex(Vertex(-5,-140,1));
					trianglestrip.AddVertex(Vertex(-5,-120,1));

					trianglestrip.AddVertex(Vertex(-5,-120,1));
					trianglestrip.AddVertex(Vertex(5,-120,1));
					trianglestrip.AddVertex(Vertex(-5,-100,1));
					trianglestrip.AddVertex(Vertex(5,-100,1));

					trianglestrip.AddVertex(Vertex(-5,-100,1));
					trianglestrip.AddVertex(Vertex(-5,-100,1));
					trianglestrip.AddVertex(Vertex(-5,-80,1));

					trianglestrip.AddVertex(Vertex(-5,-80,1));
					trianglestrip.AddVertex(Vertex(5,-80,1));
					trianglestrip.AddVertex(Vertex(-5,-60,1));
					trianglestrip.AddVertex(Vertex(5,-60,1));

					trianglestrip.AddVertex(Vertex(-5,-60,1));
					trianglestrip.AddVertex(Vertex(-5,-60,1));
					trianglestrip.AddVertex(Vertex(-5,-40,1));

					trianglestrip.AddVertex(Vertex(-5,-40,1));
					trianglestrip.AddVertex(Vertex(5,-40,1));
					trianglestrip.AddVertex(Vertex(-5,-20,1));
					trianglestrip.AddVertex(Vertex(5,-20,1));

					trianglestrip.AddVertex(Vertex(-5,-20,1));
					trianglestrip.AddVertex(Vertex(-5,-20,1));
					trianglestrip.AddVertex(Vertex(-5,0,1));

					trianglestrip.AddVertex(Vertex(-5,0,1));
					trianglestrip.AddVertex(Vertex(5,0,1));
					trianglestrip.AddVertex(Vertex(-5,20,1));
					trianglestrip.AddVertex(Vertex(5,20,1));

					trianglestrip.AddVertex(Vertex(-5,20,1));
					trianglestrip.AddVertex(Vertex(-5,20,1));
					trianglestrip.AddVertex(Vertex(-5,40,1));

					trianglestrip.AddVertex(Vertex(-5,40,1));
					trianglestrip.AddVertex(Vertex(5,40,1));
					trianglestrip.AddVertex(Vertex(-5,60,1));
					trianglestrip.AddVertex(Vertex(5,60,1));

					trianglestrip.AddVertex(Vertex(-5,60,1));
					trianglestrip.AddVertex(Vertex(-5,60,1));
					trianglestrip.AddVertex(Vertex(-5,80,1));

					trianglestrip.AddVertex(Vertex(-5,80,1));
					trianglestrip.AddVertex(Vertex(5,80,1));
					trianglestrip.AddVertex(Vertex(-5,100,1));
					trianglestrip.AddVertex(Vertex(5,100,1));

					trianglestrip.AddVertex(Vertex(-5,100,1));
					trianglestrip.AddVertex(Vertex(-5,100,1));
					trianglestrip.AddVertex(Vertex(-5,120,1));

					trianglestrip.AddVertex(Vertex(-5,120,1));
					trianglestrip.AddVertex(Vertex(5,120,1));
					trianglestrip.AddVertex(Vertex(-5,140,1));
					trianglestrip.AddVertex(Vertex(5,140,1));

					trianglestrip.AddVertex(Vertex(-5,140,1));
					trianglestrip.AddVertex(Vertex(-5,140,1));
					trianglestrip.AddVertex(Vertex(-5,160,1));

					trianglestrip.AddVertex(Vertex(-5,160,1));
					trianglestrip.AddVertex(Vertex(5,160,1));
					trianglestrip.AddVertex(Vertex(-5,180,1));
					trianglestrip.AddVertex(Vertex(5,180,1));

					trianglestrip.AddVertex(Vertex(-5,180,1));
					trianglestrip.AddVertex(Vertex(-5,180,1));
					trianglestrip.AddVertex(Vertex(-5,200,1));

					trianglestrip.AddVertex(Vertex(-5,200,1));
					trianglestrip.AddVertex(Vertex(5,200,1));
					trianglestrip.AddVertex(Vertex(-5,220,1));
					trianglestrip.AddVertex(Vertex(5,220,1));


			midline.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip));
		}
		{
			SceneNode& player0_0 = root.CreateChildNode("player0-0");

			PositionProperty& positionproperty = player0_0.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_0.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_0));
		}
		{
			SceneNode& player0_1 = root.CreateChildNode("player0-1");

			PositionProperty& positionproperty = player0_1.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_1.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_1));
		}
		{
			SceneNode& player0_2 = root.CreateChildNode("player0-2");

			PositionProperty& positionproperty = player0_2.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_2.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_2));
		}
		{
			SceneNode& player0_3 = root.CreateChildNode("player0-3");

			PositionProperty& positionproperty = player0_3.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_3.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_3));
		}
		{
			SceneNode& player0_4 = root.CreateChildNode("player0-4");

			PositionProperty& positionproperty = player0_4.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_4.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_4));
		}
		{
			SceneNode& player0_5 = root.CreateChildNode("player0-5");

			PositionProperty& positionproperty = player0_5.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_5.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_5));
		}
		{
			SceneNode& player0_6 = root.CreateChildNode("player0-6");

			PositionProperty& positionproperty = player0_6.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_6.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_6));
		}
		{
			SceneNode& player0_7 = root.CreateChildNode("player0-7");

			PositionProperty& positionproperty = player0_7.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_7.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_7));
		}
		{
			SceneNode& player0_8 = root.CreateChildNode("player0-8");

			PositionProperty& positionproperty = player0_8.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_8.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_8));
		}
		{
			SceneNode& player0_9 = root.CreateChildNode("player0-9");

			PositionProperty& positionproperty = player0_9.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 420.0f;
			m(1,3) = 50.0f;

			player0_9.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_9));
		}

		{
			SceneNode& player0_0 = root.CreateChildNode("player1-0");

			PositionProperty& positionproperty = player0_0.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player0_0.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_0));
		}
		{
			SceneNode& player1_1 = root.CreateChildNode("player1-1");

			PositionProperty& positionproperty = player1_1.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_1.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_1));
		}
		{
			SceneNode& player1_2 = root.CreateChildNode("player1-2");

			PositionProperty& positionproperty = player1_2.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_2.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_2));
		}
		{
			SceneNode& player1_3 = root.CreateChildNode("player1-3");

			PositionProperty& positionproperty = player1_3.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_3.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_3));
		}
		{
			SceneNode& player1_4 = root.CreateChildNode("player1-4");

			PositionProperty& positionproperty = player1_4.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_4.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_4));
		}
		{
			SceneNode& player1_5 = root.CreateChildNode("player1-5");

			PositionProperty& positionproperty = player1_5.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_5.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_5));
		}
		{
			SceneNode& player1_6 = root.CreateChildNode("player1-6");

			PositionProperty& positionproperty = player1_6.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_6.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_6));
		}
		{
			SceneNode& player1_7 = root.CreateChildNode("player1-7");

			PositionProperty& positionproperty = player1_7.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_7.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_7));
		}
		{
			SceneNode& player1_8 = root.CreateChildNode("player1-8");

			PositionProperty& positionproperty = player1_8.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_8.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_8));
		}
		{
			SceneNode& player1_9 = root.CreateChildNode("player1-9");

			PositionProperty& positionproperty = player1_9.AddSceneNodeProperty("position", new PositionProperty());
			Matrix4& m = positionproperty.GetPosition();
			//[row, column]
			m(0,3) = 220.0f;
			m(1,3) = 50.0f;

			player1_9.AddSceneNodeProperty("geometry", new GeometryProperty(trianglestrip_9));
		}
		connection.disconnect();
	}
};
